Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

516
Visualizações
Cuando intento obtener datos en mi proyecto React, aparece este error: Uncaught (en promesa) SyntaxError: Token inesperado < en JSON en la posición 0

Quiero obtener datos filtrados de MongoDb usando un correo electrónico específico en mi proyecto de reacción. Entonces, creo una solicitud HTTP usando un correo electrónico y luego trato de usar los datos, luego aparece el siguiente error:

GET http://localhost:5000/bloodRequest/amin@gmail.com 404 (No encontrado) No capturado (en promesa) SyntaxError: Token inesperado < en JSON en la posición 0

Mi código de solicitud del lado del cliente:

 useEffect(() => { fetch(`http://localhost:5000/bloodRequest/amin@gmail.com`) .then((res) => res.json()) .then((data) => setRequests(data)); }, [requests]);

Mi código del lado del servidor:

 app.get("/donateBlood/:email", async (req, res) => { const email = req.params.email; const query = { email: email }; const cursor = donateBloodsCollection.find(query); const result = await cursor.toArray(); res.json(result); });

Pero cuando cambio la sintaxis de la solicitud HTTP y uso el correo electrónico en medio del enlace HTTP, funciona bien. ejemplo:

Código del lado del cliente:

 useEffect(() => { fetch(`http://localhost:5000/amin@gmail.com/bloodRequest`) .then((res) => res.json()) .then((data) => setRequests(data)); }, [requests]);

código del lado del servidor:

 app.get("/:email/donateBlood", async (req, res) => { const email = req.params.email; const query = { email: email }; const cursor = donateBloodsCollection.find(query); const users = await cursor.toArray(); res.json(users); });

En ese caso, funciona correctamente, no sé por qué. ¿Puedes explicarlo, por favor?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La llamada de recuperación está llamando a una URL /bloodRequest/amin@gmail.com , la definición de la API del servidor correspondiente tiene /donateBlood/:email , por lo que se esperaba el error 404 que recibió.

GET http://localhost:5000/bloodRequest/amin@gmail.com 404 (No encontrado) No capturado (en promesa) SyntaxError: Token inesperado < en JSON en la posición 0

Intente cambiar la URL del lado del cliente a /donateBlood/amin@gmail.com o la API del lado del servidor a /bloodRequest/:email .

PD: Básicamente, el código que está intentando es sintácticamente válido. Debe haber fallado debido a errores tipográficos en la URL o no reiniciar el servidor después de un cambio en particular. Puedo ver la misma discrepancia de URL en el código de trabajo que ha publicado, por lo que también debería haber arrojado 404. Publique el código exacto que probó si aún no funciona.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda